package org.jeecg.modules.inventory.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @Description: 库存明细
 * @Author: jeecg-boot
 * @Date:   2024-07-01
 * @Version: V1.0
 */
@ApiModel(value="buss_inventory_details对象", description="库存明细")
@Data
@TableName("buss_inventory_details")
public class BussInventoryDetailsVo implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
	/**库存ID*/
    @ApiModelProperty(value = "库存ID")
    private String inventoryId;
	/**出入库日期*/
	@Excel(name = "出入库日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "出入库日期")
    private Date inOutDate;
	/**进厂日期*/
	@Excel(name = "进厂日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "进厂日期")
    private Date enterDate;
	/**限用日期*/
	@Excel(name = "限用日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "限用日期")
    private Date restrictedDate;
	/**生产日期*/
	@Excel(name = "生产日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "生产日期")
    private Date productionDate;
	/**车间*/
	@Excel(name = "车间", width = 15)
    @ApiModelProperty(value = "车间")
    private String workshop;
	/**仓库编号*/
	@Excel(name = "仓库编号", width = 15)
    @ApiModelProperty(value = "仓库编号")
    private String warehouseCode;
	/**仓库名称*/
	@Excel(name = "仓库名称", width = 15)
    @ApiModelProperty(value = "仓库名称")
    private String warehouseName;
	/**库位*/
	@Excel(name = "库位", width = 15)
    @ApiModelProperty(value = "库位")
    private String warehouseLocation;
	/**库位编号*/
	@Excel(name = "库位编号", width = 15)
    @ApiModelProperty(value = "库位编号")
    private String warehouseLocationCode;
    /**库位名称*/
    @Excel(name = "库位名称", width = 15)
    @ApiModelProperty(value = "库位名称")
    private String warehouseLocationName;
	/**批次号*/
	@Excel(name = "批次号", width = 15)
    @ApiModelProperty(value = "批次号")
    private String batch;
	/**物料批号*/
	@Excel(name = "物料批号", width = 15)
    @ApiModelProperty(value = "物料批号")
    private String materialBatchNumber;
	/**入库数量*/
	@Excel(name = "入库数量", width = 15)
    @ApiModelProperty(value = "入库数量")
    private java.math.BigDecimal inventoryQuantity;
	/**出库数量*/
	@Excel(name = "出库数量", width = 15)
    @ApiModelProperty(value = "出库数量")
    private java.math.BigDecimal outboundQuantity;
	/**占用数量*/
	@Excel(name = "占用数量", width = 15)
    @ApiModelProperty(value = "占用数量")
    private java.math.BigDecimal occupationQuantity;
	/**操作类别*/
	@Excel(name = "操作类别", width = 15)
    @ApiModelProperty(value = "操作类别")
    private String operationCategory;
	/**单据编号*/
	@Excel(name = "单据编号", width = 15)
    @ApiModelProperty(value = "单据编号")
    private String code;
    /**入库明细Id*/
    @Excel(name = "入库明细Id", width = 15)
    @ApiModelProperty(value = "入库明细Id")
    private String storageId;
	/**物料ID*/
	@Excel(name = "物料ID", width = 15)
    @ApiModelProperty(value = "物料ID")
    private String materialId;
	/**物料编号*/
	@Excel(name = "物料编号", width = 15)
    @ApiModelProperty(value = "物料编号")
    private String materialCode;
	/**物料名称*/
	@Excel(name = "物料名称", width = 15)
    @ApiModelProperty(value = "物料名称")
    private String materialName;
	/**规格型号*/
	@Excel(name = "规格型号", width = 15)
    @ApiModelProperty(value = "规格型号")
    private String noneSpec;
	/**单位*/
	@Excel(name = "单位", width = 15, dicCode = "ji_unit")
    @Dict(dicCode = "ji_unit")
    @ApiModelProperty(value = "单位")
    private String meUnit;
	/**库存数量*/
	@Excel(name = "库存数量", width = 15)
    @ApiModelProperty(value = "库存数量")
    private java.math.BigDecimal quantity;
	/**辅助单位*/
	@Excel(name = "辅助单位", width = 15, dicCode = "zl_unit")
    @Dict(dicCode = "zl_unit")
    @ApiModelProperty(value = "辅助单位")
    private String auUnit;
	/**辅助数量*/
	@Excel(name = "辅助数量", width = 15)
    @ApiModelProperty(value = "辅助数量")
    private java.math.BigDecimal auxiliaryQuantity;
	/**质检状态*/
	@Excel(name = "质检状态", width = 15, dicCode = "zj_status")
    @Dict(dicCode = "zj_status")
    @ApiModelProperty(value = "质检状态")
    private String qualityInspectionStatus;
	/**主表备注*/
	@Excel(name = "主表备注", width = 15)
    @ApiModelProperty(value = "主表备注")
    private String remarks;
	/**子表备注*/
	@Excel(name = "子表备注", width = 15)
    @ApiModelProperty(value = "子表备注")
    private String subtableRemarks;
	/**状态*/
	@Excel(name = "状态", width = 15, dicCode = "kc_status")
    @Dict(dicCode = "kc_status")
    @ApiModelProperty(value = "状态")
    private String status;
	/**制单人*/
	@Excel(name = "制单人", width = 15)
    @ApiModelProperty(value = "制单人")
    private String preparedBy;
	/**制单日期*/
	@Excel(name = "制单日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "制单日期")
    private Date preparedTime;
	/**供应商*/
	@Excel(name = "供应商", width = 15)
    @ApiModelProperty(value = "供应商")
    private String supplierId;
	/**供应商编号*/
	@Excel(name = "供应商编号", width = 15)
    @ApiModelProperty(value = "供应商编号")
    private String supplierCode;
	/**供应商名称*/
	@Excel(name = "供应商名称", width = 15)
    @ApiModelProperty(value = "供应商名称")
    private String supplierName;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
	/**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private String sysOrgCode;
    /**宝洁采购订单号*/
    @Excel(name = "宝洁采购订单号", width = 15)
    @ApiModelProperty(value = "宝洁采购订单号")
    private String bjOrder;
    /**宝洁供应商编码*/
    @Excel(name = "宝洁供应商编码", width = 15)
    @ApiModelProperty(value = "宝洁供应商编码")
    private String bjSupplierCode;
    /**宝洁供应商*/
    @Excel(name = "宝洁供应商", width = 15)
    @ApiModelProperty(value = "宝洁供应商")
    private String bjSupplier;

    @ApiModelProperty(value = "是否自动扣货")
    private Integer isAutodeductgoods;

    /**物料分类*/
    @Excel(name = "物料分类", width = 15, dictTable = "erp_goods_category", dicText = "name", dicCode = "code")
    @Dict(dictTable = "erp_goods_category", dicText = "name", dicCode = "code")
    @ApiModelProperty(value = "物料分类")
    private String categoryCode;
    /**客户物料编号*/
    @Excel(name = "客户物料编号", width = 15)
    @ApiModelProperty(value = "客户物料编号")
    private String customerMaterialCode;
}
